package com.rds.system.service;

import com.rds.system.domain.RdaCommand;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * command命令Service接口
 *
 * @author rds
 * @date 2021-04-19
 */
public interface IRdaCommandService
{
    /**
     * 查询command命令
     *
     * @param id command命令ID
     * @return command命令
     */
    public RdaCommand selectRdaCommandById(Long id);

    /**
     * 查询command命令列表
     *
     * @param rdaCommand command命令
     * @return command命令集合
     */
    public List<RdaCommand> selectRdaCommandList(RdaCommand rdaCommand);

    /**
     * 根据名称查询列
     *
     * @param commandId
     * @return command命令集合
     */
    public List<RdaCommand> selectByCommandId(@Param("commandId")String[] commandId, @Param("roleIds")Set<String> roleIds, @Param("command")String command);

    /**
     * 根据Toolbar名称查询列
     *
     * @param configName
     * @return table列集合
     */
    public List<RdaCommand> selectByToolbar(@Param("configName")String configName,@Param("roleIds")Set<String> roleIds);

    /**
     * 根据portal 区域id查询列
     *
     * @param fromid
     * @return table列集合
     */
    public List<RdaCommand> selectByPortal(Long fromid);

    /**
     * 根据TreeMenu名称查询列
     *
     * @param configName
     * @return table列集合
     */
    public List<RdaCommand> selectByTreeMenu(String configName);

    /**
     * 新增command命令
     *
     * @param rdaCommand command命令
     * @return 结果
     */
    public int insertRdaCommand(RdaCommand rdaCommand);

    /**
     * 修改command命令
     *
     * @param rdaCommand command命令
     * @return 结果
     */
    public int updateRdaCommand(RdaCommand rdaCommand);

    /**
     * 批量删除command命令
     *
     * @param ids 需要删除的command命令ID
     * @return 结果
     */
    public int deleteRdaCommandByIds(Long[] ids);

    /**
     * 删除command命令信息
     *
     * @param id command命令ID
     * @return 结果
     */
    public int deleteRdaCommandById(Long id);
}
